"""
封装：
    就是把对象的属性和方法(或者服务)结合为一个独立的整体，
    并尽可能隐藏对象的内部实现细节(属性私有化，方法公开化)。
    封装是一种信息隐藏技术

"""

class Student:
    def __init__(self):
        self.__name = None
        self.__age = None

    # 给私有属性赋值的方法
    def set_name(self, name):
        self.__name = name

    def set_age(self, age):
        if age < 0:
            self.__age =  0
            return
        self.__age = age


    # 获取私有属性值的方法
    def get_name(self):
        return self.__name

    def get_age(self):
        return self.__age

    def speak(self):
        print(f'大家好，我叫{self.__name},今年{self.__age}岁了')

if __name__ == '__main__':
    s = Student()
    s.set_name('聂茹凤')
    s.set_age(-15)

    s.speak()



